package com.peas.platform.module.icims.budget.archives.controller.vo;

import com.peas.platform.common.core.vo.BaseVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.*;

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel("指标库")
public class BudgetKpiVo extends BaseVo {

    // 1:页面创建，2:预算编制
    @ApiModelProperty(value = "指标来源", notes = "")
    @NotBlank(message = "指标来源不能为空")
    @Size(max = 20, message = "指标来源不能超过20个字符")
    private String source;

    // 1:一级指标，2:二级指标，3:三级指标
    @ApiModelProperty(value = "指标级别", notes = "")
    @NotNull(message = "指标级别不能为空")
    private Integer level;

    @ApiModelProperty(value = "指标编号", notes = "")
    @Size(max = 50, message = "指标编号不能超过50个字符")
    private String code;

    @ApiModelProperty(value = "指标名称", notes = "")
    @NotBlank(message = "指标名称不能为空")
    @Size(max = 200, message = "指标名称不能超过200个字符")
    private String name;

    @ApiModelProperty(value = "排序权重", notes = "")
    private Integer weight;

    // （指标库表）外键
    @ApiModelProperty(value = "上级指标ID", notes = "")
    private Long parentId;

    // 1:有效，0:无效
    @ApiModelProperty(value = "状态", notes = "")
    @Size(max = 20, message = "状态不能超过20个字符")
    private String state;

}
